package com.ming.closeto.view;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;

/**
 * 自动测量
 */
public class AutoMeasureRecyclerView extends RecyclerView {
    public AutoMeasureRecyclerView(@NonNull Context context) {
        super(context);
    }

    public AutoMeasureRecyclerView(@NonNull Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public AutoMeasureRecyclerView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    /**
     * 测量模式
     * 1. 精确模式     MeasureSpec.EXACTLY
     * 2. 最大模式     MeasureSpec.AT_MOST
     * 3. 未指定模式   MeasureSpec.UNSPECIFIED
     * int 32位数值
     * 最高两位为00时 表示未指定数值
     * 最高俩位为01时 表示精确模式
     * 最高两位为10时 表示最大模式
     * @param widthSpec
     * @param heightSpec
     */
    @Override
    protected void onMeasure(int widthSpec, int heightSpec) {
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthSpec, expandSpec);
    }
}
